In a typical network environment, client devices request and download content stored within network servers. Exemplary content includes web pages that may contain one or more of text, graphics, video, and sound data. Other examples of content include files, multimedia data streams (e.g., audio or video data streams), electronic messages, and data tables. Upon receiving the content requests, the network servers typically retrieve the requested content, break the requested content into packets, and transmit the packets to the requesting client device. Routers and other network infrastructure direct these packets through the network to the client devices, which, in turn, reconstruct the content from the packets and present the content to users via applications residing on the client devices.
The network may experience a variety of issues that result in decreased download speeds at the client devices. These issues include a large volume of content requests to a single network server that overload or otherwise diminish the capacity of the network server to timely service the requested content. Moreover, network congestion and limited network bandwidth may impact client download speeds. To increase download speeds and reduce bandwidth consumption, a network administrator may deploy one or more intermediate network devices, referred to as network acceleration devices, located between the client devices and the servers. These intermediate network devices may apply one or more network acceleration services to network traffic passing between the client devices and the servers in order to address the above listed issues or other issues that adversely affect download speeds.
For example, a network acceleration device may apply a compression service that compresses the network traffic according to one of a plurality of compression algorithms. Each of the plurality of compression algorithms may be tailored to a specific application, e.g., a HyperText Transfer Protocol (HTTP) application, or specific protocol and each may represent a particular service. Other network acceleration services may comprise application-specific acceleration techniques that may accelerate or optimize the retrieval of content. The network acceleration device may classify each packet flow of the network traffic as belonging to a particular application and/or protocol and apply the corresponding network acceleration services, e.g., compression algorithms or application-specific accelerations, to efficiently compress the content carried by the packet flows and/or optimize the retrieval of the requested content.
By compressing and optimizing the network traffic in this manner, the network acceleration devices may preserve bandwidth or reduce bandwidth consumption, thereby increasing the amount of traffic that may be transmitted over a given network. The increased capacity may reduce network congestion and, as a result, the network acceleration devices may increase downloads speeds as more data may be downloaded in a given amount of time when compared to networks that do not employ network acceleration devices.